package net.oschina.bilbodai.common.beanutil.bean.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 加上这个标签的属性不会参与属性拷贝
 *
 * @author daimao  Date: 16/4/20 Time: 下午6:02
 * @version $Id$
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD })
public @interface DumpIgnore {

    /**
     *
     * <pre>
     *     class TFoo{
     *         {@code @}DumpIgnore(profiles=foo)
     *         private String name;
     *     }
     * </pre>
     *
     * 表示当TFoo与Foo进行name字段复制时,当profile为foo时,字段才被忽略
     * @return 表示只忽略当这个属性与peerType的属性进行复制时忽略
     */
    String[] profiles() default {};
}